﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Castle.ActiveRecord;

namespace Matriculex.Dominio
{
    [ActiveRecord("gerente"), Serializable]
    public class Gerente : Usuario
    {
        // construtor vazio necessário para o ActiveRecord
        protected Gerente() { }

        public Gerente(string nome, string email)
            :base(nome, email)
        { }
        [JoinedKey]
        public override int Id { get { return base.Id; } }

        public static new void DeleteAll()
        {
            DeleteAll(typeof(Gerente));
        }

        public static new Gerente[] FindAll()
        {
            return (Gerente[])FindAllByProperty(typeof(Gerente), "Ativado", true);
        }

        public static Gerente Find(int id)
        {
            return (Gerente)FindByPrimaryKey(typeof(Gerente), id);
        }

        public new static Gerente[] FindAllByProperty(string property, object value)
        {

            return (Gerente[])FindAllByProperty(typeof(Gerente), property, value);
        }

    }
}
